/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package proyectocallcentergrupo6;
import java.sql.*;
/**
 *
 * @author Eduardo
 */
public class Servicio {
Conectar con;
private String ID, voz, tv, net, deuda, deco, IDClie;
public Servicio()
{
con = new Conectar();
} 

public Servicio buscar(String id){
    Servicio s = new Servicio();
      try{
            PreparedStatement p = con.getConnection().prepareStatement("SELECT * FROM servicio"+
                    " WHERE \"Cliente_ID Cliente\" = ?");
            p.setString(1, id);
            ResultSet res = p.executeQuery();
            res.next();
            s.setID(res.getString("ID Servicio"));
            s.setIDClie(res.getString("Cliente_ID Cliente"));
            s.setVoz(res.getString("SERVICIO_VOZ"));
            s.setTv(res.getString("SERVICO_TV"));
            s.setNet(res.getString("SERVICO_INTERNET"));
            s.setDeco(res.getString("DECO"));
            s.setDeuda(res.getString("DEUDA"));
            s.setDeco(res.getString("DECO"));
            res.close();
        }catch(SQLException e){
            s=null;
        }
      return s;
}

public void eliminarServicio(String id)// este metodo solo se debe usar con el Administrador
{
         try{
          PreparedStatement p = con.getConnection().prepareStatement("DELETE FROM servicio WHERE \"ID Servicio\" = ?");
          p.setString(1,id);
          p.execute();
          p.close();
      }catch(SQLException e){
          System.out.println("ATENCION: "+e);
      }
      
  }

 
//modificar datos para la interfaz de ejecutivo
public void MDEjecutivo(String Voz, String TV, String Internet,String Deco, String ID){
      try{
          PreparedStatement p = con.getConnection().prepareStatement("UPDATE servicio " +
                  "set Servicio_Voz = ? , " +
                  "Servico_TV = ? , " +
                  "Servico_Internet = ?, " +
                  "Deco = ? " +
                  "WHERE \"Cliente_ID Cliente\" = ?");
          p.setString(1, Voz);
          p.setString(2, TV);
          p.setString(3, Internet);
          p.setString(4, Deco);
          p.setString(5, ID);
          p.execute();
          p.close();          
      }catch(SQLException e){
          System.out.println("ATENCION: " + e);
      }
      
  }
//modificar datos para la interfaz de administrador, solo usarla para el administrador
public void MDAdministrador(String IDServicio, String ServicioVoz, String ServicioTV, String ServicioInternet, String Deco){
      try{
          PreparedStatement p = con.getConnection().prepareStatement("UPDATE servicio " +
                 
                  "set ID Servicio = ?, " + 
                  "Servicio_Voz = ? , " +
                  "Servico_TV = ? , " +
                  "Servico_Internet = ?, " +
                  "Deco = ? " +
                  "WHERE \"Cliente_ID Cliente\" = ?");
          p.setString(0, IDServicio);
          p.setString(1, ServicioVoz);
          p.setString(2, ServicioTV);
          p.setString(3, ServicioInternet);
          p.setString(4, Deco);
          p.execute();
          p.close();          
      }catch(SQLException e){
          System.out.println("ATENCION: " + e);
      }
      
  }
//crea un nuevo servicio para un cliente, debe usarla solo el administrador
public void agregarServicio(String IDServicio){
       try {            
            PreparedStatement pstm = con.getConnection().prepareStatement("insert into " + 
                    "servicio(\"ID Servicio\", \"Cliente_ID Cliente\", Deuda)" +
                    " values(?,?,?)");            
            pstm.setString(1, IDServicio);
            pstm.setString(2, IDServicio);
            pstm.setString(3, "Ok");
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         System.out.println("ATENCION: "+e);
         }
     
   }

 public Object [][] getDatos(){
        int registros = 0;
      //obtener la cantidad de registros 
      try{         
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM servicio ");
         ResultSet res = pstm.executeQuery();
         res.next();
         registros = res.getInt("total");
         res.close();
      }catch(SQLException e){
         System.out.println(e);
      }
  Object[][] data = new String[registros][6];  
    
      try{    
         PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
            " ID Servicio, Cliente_ID Cliente, Servicio_Voz, Servico_TV, Servico_Internet, Deco " +
            " FROM servicio" +
            " ORDER BY ID Servicio ");
         ResultSet res = pstm.executeQuery();
         int i = 0;
         while(res.next()){
            String estIDServicio = res.getString("ID Servicio");
            String estIDCliente = res.getString("ID Cliente");
            String estServVoz= res.getString("Servicio de Voz");
            String estServTV = res.getString("Servicio de TV");
            String estServDeuda = res.getString("Servicio de Internet");
            String estDeco = res.getString("Deco");
            
            data[i][0] = estIDServicio;            
            data[i][1] = estIDCliente;            
            data[i][2] = estServVoz;            
            data[i][3] = estServTV;            
            data[i][4] = estServDeuda;            
            data[i][5] = estDeco;           
            i++;
         }
         res.close();
          }catch(SQLException e){
         System.out.println(e);
    }
    return data;
    }
 public void MDDeuda(String Deuda, String ID){
      try{
          PreparedStatement p = con.getConnection().prepareStatement("UPDATE servicio " +
                  "set Deuda = ? " +
                  "WHERE \"Cliente_ID Cliente\" = ?");
          p.setString(1, Deuda);
          p.setString(2, ID);
          p.execute();
          p.close();          
      }catch(SQLException e){
          System.out.println("ATENCION: " + e);
      }
      
  }
    

public String getID() {
        return ID;
    }

    public void setID(String ID) {
        this.ID = ID;
    }

    public String getVoz() {
        return voz;
    }

    public void setVoz(String voz) {
        this.voz = voz;
    }

    public String getTv() {
        return tv;
    }

    public void setTv(String tv) {
        this.tv = tv;
    }

    public String getNet() {
        return net;
    }

    public void setNet(String net) {
        this.net = net;
    }

    public String getDeuda() {
        return deuda;
    }

    public void setDeuda(String deuda) {
        this.deuda = deuda;
    }

    public String getDeco() {
        return deco;
    }

    public void setDeco(String deco) {
        this.deco = deco;
    }

    public String getIDClie() {
        return IDClie;
    }

    public void setIDClie(String IDClie) {
        this.IDClie = IDClie;
    }

    

}

